<p>Please define the target widget note in the promoted attributes. The widget will be used to render the launchbar icon.</p>

<h4>Example launchbar widget</h4>

<pre>
const TPL = `&lt;div style="height: 53px; width: 53px;"&gt;&lt;/div&gt;`;

class ExampleLaunchbarWidget extends api.NoteContextAwareWidget {
    doRender() {
        this.$widget = $(TPL);
    }

    async refreshWithNote(note) {
        this.$widget.css("background-color", this.stringToColor(note.title));
    }

    stringToColor(str) {
        let hash = 0;
        for (let i = 0; i < str.length; i++) {
            hash = str.charCodeAt(i) + ((hash << 5) - hash);
        }

        let color = '#';
        for (let i = 0; i < 3; i++) {
            const value = (hash >> (i * 8)) & 0xFF;
            color += ('00' + value.toString(16)).substr(-2);
        }

        return color;
    }
}

module.exports = new ExampleLaunchbarWidget();
</pre>
